package com.ljy.my_study.typesafeConfig;

import java.util.Map;

import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
import com.typesafe.config.ConfigList;

/** 
* @author James
* @date 2018年11月30日 
*/
public class TestMain {
	public static void main(String[] args) {
		//key和value可以用两种形式来表示：1."key:value",2."key=value"
		Config c=ConfigFactory.load();
		System.out.println(c.getString("simple-app.answer"));
		//相比properties，这种方式更加观看，对应同一个类型下的配置，可以放在{}里
		System.out.println(c.getString("lion.net.gateway-server-net"));
		System.out.println(c.getInt("lion.net.port.server"));
		//还可以将同一个类型转化为一个对象，Config，取值的时候直接取这个类型下的值就可以了
		Config config=c.getObject("lion.net.port").toConfig();
		System.out.println(config.getString("server"));
		//还可以转化为一个map
		Map<String,Object> lionNetMap=c.getObject("lion.net").unwrapped();
		System.out.println(lionNetMap);
		//lion.home=${user.dir}/target
		//可以取系统的配置信息
		System.out.println(c.getString("lion.home"));
		//可以保存数组，数组数据用“[]”括起来
		ConfigList configList=c.getList("lion.redis.nodes");
		System.out.println(configList.get(0).render());
		
	}
}
